DEVEX-1630: shared PHP build orchestrators (foundation)#129
DEVEX-1630: shared PHP build orchestrators (foundation)#129pdodgen-revparts wants to merge 11 commits into
Conversation
…tore PHP portion)
PR SummaryLow Risk Overview New orchestrators —
Design and rollout docs are added under Reviewed by Cursor Bugbot for commit 42a605b. Bugbot is set up for automated code reviews on this repo. Configure here. |
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
There are 2 total unresolved issues (including 1 from previous review).
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 6c6ac70. Configure here.
|
Thanks Bugbot — both valid, fixed in 42a605b (
|

Phase 1A of DEVEX-1630 — the shared-workflow foundation only. No service repos are touched in this PR; these reusable workflows have no effect until a caller references them (pilots follow in separate PRs).
What this adds
build-php-v1.yaml(new) — v1/legacy PHP build orchestrator. Spinecalculate-tag → build → tag-and-release, exposes atagoutput. Thebuildjob matrixes over animagesJSON array and callsphp-build-push.yamlonce per image (app / nginx / profiler / apache), reproducing each repo's exact current tags.build-php-laravel.yaml(new) — Laravel PHP build orchestrator. Same spine;buildmakes one call to the existingphp-laravel-build-push.yaml(app + webserver, artisan-cached).php-build-push.yaml(modified) — addedimage_name,extra_tag,cache_typeinputs and modernizedbuildx@v3 / login@v3 / build-push@v6. Buildx cache is now keyed per resolved image name (registry ref / gha scope) so matrix legs don't collide. No existing org consumers, so this is backward-safe.Both orchestrators call their sibling helper via the local
./.github/workflows/...path, so the nested call resolves at the orchestrator's own ref (self-consistent at@mainor on a branch).Validation
actionlintclean on all three files.Not in this PR
Per-repo
Build.yamlmigrations (license_api + returns-api pilots, then fan-out incl. webstore last) land as separate PRs after this merges. Phase 0 integration-deploy gate is tracked under DEVEX-1629.Design + plan:
docs/superpowers/specs/2026-06-08-unify-php-build-workflows-design.md,docs/superpowers/plans/2026-06-08-unify-php-build-workflows.md.🤖 Generated with Claude Code